<template>
    <div>
      <h1 style="text-align:center;">用户新增 </h1>
     <!-- 需要表单 -->
        <el-form ref="form" :model="form" label-width="80px">
            <el-form-item label="用户名">
                <el-input v-model="form.username"></el-input>
            </el-form-item>
            <el-form-item label="密码">
                <el-input type="password" v-model="form.password"></el-input>
            </el-form-item>         
             <el-form-item label="邮箱">
                <el-input v-model="form.email"></el-input>
            </el-form-item>
            <el-form-item label="手机号">
                <el-input v-model="form.tel"></el-input>
            </el-form-item>
            <el-form-item label="是否启用">
                <el-switch
                    v-model="form.enable"
                    active-color="#13ce66"
                    inactive-color="#ff4949">
                </el-switch>
            </el-form-item>
            <!-- 发请求获取所有角色 -->
            <el-form-item label="角色">
                <el-select v-model="form.role" placeholder="请选择角色">
                    <!--遍历请求回来的数据 （角色） label显示出来的汉字  -->
                <el-option v-for="role in roleList" :key="role._id" :label="role.name" :value="role._id"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item>
                <!-- 点击创建获取数据 发请求 添加数据 在request -->
                <el-button type="primary" @click="onSubmit">立即创建</el-button>
                <el-button>取消</el-button>
            </el-form-item>
        </el-form>
    </div>
</template>

<script>
//导入请求回来的所有角色 添加用户 
import {RoleList,UserAdd} from '@/request'
export default {
  data () {
    return {
          form: {
            username: '',
            password: '',
            email: '',
            tel: '',
            enable: false,
            role: ''
          },
          //请求回来的数据定义给一个数组
          roleList:[]
     }
  },
  methods: {
       async onSubmit() {
            //1.先获取数据 -数据在this.form 
            // console.log(this.form);
            //用发请求回来的数据 进行添加
           let data = await UserAdd(this.form)
           //console.log(data);
           //添加成功给用户提示  
           let {error_code,msg} = data
           if(error_code === 200){
              this.$message({
                type: 'success',
                duration: 1500,
                message: msg,
                // 提示关闭之后跳转到列表页
                onClose:()=>{
                    this.$router.push('/user/list')
                }
              })
              //失败提示
           }else{
             this.$message({
                type: 'error',
                duration: 1500,
                message: msg,
              })
           }
        },
        //得到请求回来的数据
        async getRoleList(){
          let data = await RoleList()
          console.log(data);
          //请求回来的数据 赋值给this.rolelist
          this.roleList = data.data.rolelist
        }

    },
    //发请求 获取数据
    created(){
        this.getRoleList()
    }
}
</script>

<style>
    
</style>
